package org.zhou.service;

import org.zhou.pojo.*;

import java.math.BigDecimal;
import java.util.List;

public interface BooksService {

    /**
     * 查询分类
     * @return
     */
    List<Type> getClassify();

    /**
     * 通过类名查询分类
     * @param name
     * @return
     */
    List<Type> getByNameClassify(String name);

    /**
     * 添加分类
     * @param name
     */
    void addClassify(String name);

    /**
     * 修改分类
     * @param type
     */
    void updateClassify(Type type);

    /**
     * 删除分类
     * @param id
     */
    void deleteClassify(Integer id);

    /**
     * 分页查询图书
     * @param pageNum
     * @param pageSize
     * @param bookname
     * @param type
     * @param author
     * @return
     */
    PageResult list(Integer pageNum, Integer pageSize, String bookname, Integer type, String author,String bookId);

    /**
     * 添加图书
     * @param book
     */
    void addBook(Book book);

    /**
     * 修改图书
     * @param book
     */
    void updateBook(Book book);

    /**
     * 删除图书
     * @param id
     */
    void deleteBook(Integer id);

    /**
     * 分页查询借阅表
     * @param pageNum
     * @param pageSize
     * @param readerId
     * @param status
     * @param bookId
     * @return
     */
    PageResult borrowList(Integer pageNum, Integer pageSize, String readerId, String status, String bookId);

    /**
     * 查询借阅详情
     * @param readerId
     * @param bookId
     * @return
     */
    BorrowVO getBorrow(CheckBorr cb);

    /**
     * 借阅
     * @param readerId
     * @param bookId
     */
    void addBorrow(String readerId, String bookId);


    /**
     * 还书
     * @param cb
     */
    void returned(CheckBorr cb);

    /**
     * 查询读者状态
     * @param readerId
     * @return
     */
//    Integer getReaderStatus(String readerId);

    /**
     * 根据编号查询图书
     * @param idNumber
     * @return
     */
//    List<Book> getByIdNumBook(String idNumber);
//    List<Book> list(Integer pageNum, Integer pageSize, String bookname, Integer type, String author);
}
